package com.scvtc.service.teacher;

import com.baomidou.mybatisplus.extension.service.IService;
import com.scvtc.domain.ResResult;
import com.scvtc.domain.dto.teacher.base.TeacherBaseDto;
import com.scvtc.domain.entity.teacher.TeacherBase;
import com.scvtc.domain.vo.PageVo;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * 教师基本信息(TeacherBase)表服务接口
 *
 * @author thy
 * @since 2022-04-13 17:38:30
 */
public interface TeacherBaseService extends IService<TeacherBase> {
    /**
     * 分页查询
     *
     * @param teacherBaseDto
     * @param current
     * @param size
     * @return
     */
    ResResult<PageVo<List<TeacherBaseDto>>> getAllTeacher(Long current, Long size, TeacherBaseDto teacherBaseDto);

    /**
     * 删除一个教师
     *
     * @param id
     * @return
     */
    ResResult<?> deleteTeacherBase(Long id);

    /**
     * 删除多个教师
     *
     * @param ids
     * @return
     */
    ResResult<?> deleteMultipleTeacherBase(Long[] ids);

    /**
     * 添加一个教师
     *
     * @param teacherBaseDto
     * @return
     */
    ResResult<?> addTeacherBase(TeacherBaseDto teacherBaseDto);

    /**
     * 修改教师信息
     *
     * @param teacherBaseDto
     * @return
     */
    ResResult<?> updateTeacherBase(TeacherBaseDto teacherBaseDto);


    /**
     * 教师表导出excel
     *
     * @param response
     */
    void exportExcel(HttpServletResponse response, Long[] ids);

    /**
     * 教师等级（charts 图）
     *
     * @return
     */
    ResResult<?> chartDegree();
}

